package com.leather.market.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.leather.common.entity.Goods;
import com.leather.common.entity.GoodsCar;
import com.leather.common.result.Result;
import com.leather.market.vo.GoodsVo;

public interface GoodsService extends IService<Goods> {


    /**
     * 发布二手商品
     * @param goodsVo
     * @return
     */
    Result addGoods(GoodsVo goodsVo);

    /**
     * 首页数据
     * @param pageId
     * @return
     */
    Result queryIndex(int pageId);

    /**
     * 用户收藏的商品
     * @param userId
     * @return
     */
    Result userCollection(int userId);

    /**
     * 用户发布的商品
     * @param userId
     * @return
     */
    Result userCenter(int userId);

    /**
     * 设置商品已卖出或者删除商品
     * @param goodsId
     * @param userId
     * @return
     */
    Result setFlag(int goodsId,int userId);


    /**
     * 搜索
     * @param searchValue
     * @return
     */
    Result search(String searchValue);


    /**
     * 加入收藏夹
     * @param goodsCar
     * @return
     */
    Result addCar(GoodsCar goodsCar);

    /**
     * 移除收藏夹
     * @param goodsCar
     * @return
     */
    Result removeCar(GoodsCar goodsCar);


    /**
     * 判断是否加入了购物车
     * @return
     */
    Result judgeIsAdd(GoodsCar goodsCar);

    /**
     * 删除商品
     * @param goodsId
     * @param userId
     * @return
     */
    Result delete(int goodsId,int userId);

    /**
     * 设置价格
     * @param userId
     * @param goodsId
     * @param price
     * @return
     */
    Result updatePrice(int userId,int goodsId,double price);


    /**
     * 根据分类获取
     * @param typeId
     * @return
     */
    Result getByType(int typeId);

}
